package xing.repository.isv.suite;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import xing.domain.isv.suite.Corp;

/********************************
 * 文 件 名 :CropRepository.java
 * 创 建 人：陈天龙
 * 日    期：2017/8/24
 * 描   述：企业信息数据层操作接口
 * 版 本 号：v1.0.0
 ********************************/
public interface CorpRepository extends JpaRepository<Corp,Long> {

    /**
     * 描    述：新增或更新Corp
     * 创 建 人：陈天龙
     * 日    期：2017/8/23
     * @param corpId
     * @param inviteCode
     * @param industry
     * @param corpName
     * @param inviteUrl
     * @param corpLogoUrl
     * @return int
     */
    @Modifying
    @Query(value="insert into isv_corp (id,gmt_create,gmt_modified,corp_id,invite_code,industry,corp_name,invite_url,is_authenticated,auth_level,corp_logo_url" +
            ")values(:id,now(),now(),:corpId,:inviteCode,:industry,:corpName,:inviteUrl,:isAuthenticated,:authLevel,:corpLogoUrl)" +
            "ON DUPLICATE KEY UPDATE gmt_modified=now(),invite_code=:inviteCode,industry=:industry,corp_name=:corpName,invite_url=:inviteUrl,corp_logo_url=:corpLogoUrl,is_authenticated=:isAuthenticated,auth_level=:authLevel"
            ,nativeQuery = true)
    int saveOrUpdateCorp(@Param("id") Long id,@Param("corpId") String corpId,@Param("inviteCode") String inviteCode,@Param("industry") String industry,@Param("corpName") String corpName,@Param("inviteUrl") String inviteUrl,@Param("corpLogoUrl") String corpLogoUrl,@Param("isAuthenticated") boolean isAuthenticated,@Param("authLevel") Integer authLevel);
}
